package com.itm.ldap;

import javax.inject.Inject;

import junit.framework.Assert;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import com.itm.ldap.dao.GestorLDAPDao;
import com.itm.ldap.utils.Constantes;

@ContextConfiguration("classpath:configuracion.xml")
@RunWith(SpringJUnit4ClassRunner.class)
public class PruebaLDAP {

	@Inject
	private GestorLDAPDao gestorLDAPDao;

	@Test
	public void crea_usuario() {

		String usercn	 				= "pepe";
		String useruid					= "pepe";
		String usersn					= "pepe";
		String userpwd			 		= "pepe";
		String gidNumber		 		= "1001";
		String uidNumber		 		= "10013";
		String userHomeDirectory 		= "/home/pepe";
		
		gestorLDAPDao.addParametroUser(Constantes.LDAP_USER_CN, usercn);
		gestorLDAPDao.addParametroUser(Constantes.LDAP_USER_PASSWORD, userpwd);
		gestorLDAPDao.addParametroUser(Constantes.LDAP_USER_UID, useruid);
		gestorLDAPDao.addParametroUser(Constantes.LDAP_USER_SN, usersn);
		gestorLDAPDao.addParametroUser(Constantes.LDAP_USER_GIDNUMBER, gidNumber);
		gestorLDAPDao.addParametroUser(Constantes.LDAP_USER_UIDNUMBER, uidNumber);
		gestorLDAPDao.addParametroUser(Constantes.LDAP_USER_HOMEDIRECTORY, userHomeDirectory);

		gestorLDAPDao.creaUsuario();
	}

	
	@Test
	public void cambiar_password_usuario_desde_admin() {

		String username 				= "dlopez";
		String newUserpwd		 		= "dlopez";
		String newUserHomeDirectory 	= "/home/dlopez";
		
		gestorLDAPDao.addParametroUser(Constantes.LDAP_USER_PASSWORD, newUserpwd);
		gestorLDAPDao.addParametroUser(Constantes.LDAP_USER_HOMEDIRECTORY, newUserHomeDirectory);
		gestorLDAPDao.modificaValoresUser(username);
	}
	
	@Test
	public void autenticacion_usuario() {

		String username 	= "dlopez";
		String userpwd	 	= "dlopez";
		
		boolean resultado = gestorLDAPDao.autenticacionUser(username, userpwd);
	
		Assert.assertEquals("Login Incorrecto!!", resultado, true);
	}

	@Test
	public void listar_usuarios() {

		String username 	= "dlopez";
		
		gestorLDAPDao.getInfoUser(username);
	}
}
